package com.code.generator;

import java.io.File;
import java.io.IOException;
import java.net.URL;

import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Platform;
import org.osgi.framework.Bundle;

import com.code.view.Activator;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;


/**
 * 获取模版配置
 *
 *
 * @author 朱国军
 * @version 2014年10月24日 朱国军
 */
public class GeneratorTemplate {
    /**
     * 获取模版文件夹
     *
     * @return 模版文件夹名称
     * @throws IOException 异常
     */
    public Configuration getTemplateConfig() throws IOException {
        Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
        URL templateUrl = bundle.getEntry("/template");
        String templateFolder = FileLocator.toFileURL(templateUrl).getPath();

        /* 创建一个合适的configuration */
        Configuration cfg = new Configuration();

        // 设置模板加载的方式
        cfg.setDirectoryForTemplateLoading(new File(templateFolder));

        // 指定模板如何查看数据模型
        cfg.setObjectWrapper(new DefaultObjectWrapper());

        return cfg;
    }
}
